package cn.trda.base.genric;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;

import org.junit.Test;

/**
 * 泛型
 * 		List<String> list=new ArrayList<String>();
 * 		List<String> list=new ArrayList<>();
 * 		List<> list=new ArrayList<String>();
 *  	如果写了，两边必须一致
 * 		泛型 是给程序员看的，  字节码中没有泛型信息，这叫泛型擦除
 * 
 * 		将程序运行过程中可能会发生的异常变成编译时的异常
 * 
 * 异常						Throwable
 * 			Error 程序员不可控					Exception
 * 									运行时异常RuntimeException			编译时异常//受检测的异常
 * 									数据库回滚操作只针对RuntimeException
 * 
 * 		List<E>	泛型  list type of (<>) E
 * 		List<String> 参数化类型  ParameterizedType 
 * @author Administrator
 *
 */
public class TestGenric<T> {
		@Test
		public void testAc(){
			List<T> list=new ArrayList();
			//list.add(<T>new Object());
			//list.add("aaa");
			Connection con=null;
		 try {
			PreparedStatement ps=	con.prepareStatement("");
		} catch (SQLException e) {
			throw new RuntimeException(e);//保持异常链
		}
			
		}
}
